package com.example.demo.topic.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 发帖审核表;
 * </p>
 *
 * @author 涛
 * @since 2024-08-01
 */
@Data
public class TNoteApprove implements Serializable {

    private static final long serialVersionUID=1L;

    /**
     * id
     */
    @TableId(value = "ID", type = IdType.AUTO)
    private Integer id;

    /**
     * 帖子ID;外键关联发帖管理表
     */
    @TableField("TID")
    private String tid;

    /**
     * 审核人;外键关联服务人员表
     */
    @TableField("APPROVE_ID")
    private String approveId;

    /**
     * 审核状态
     */
    @TableField("APPROVE_STATUS")
    private String approveStatus;

    /**
     * 审核意见
     */
    @TableField("APPROVE_OPTION")
    private String approveOption;

    /**
     * 审核时间
     */
    @TableField("APPROVE_DATE")
    private LocalDateTime approveDate;

    /**
     * 作者;外键关联服务人员表
     */
    @TableField("AUTHOR")
    private String author;

    /**
     * 修改反馈内容
     */
    @TableField("UPDATE_CONTENT")
    private String updateContent;

    /**
     * 修改反馈时间
     */
    @TableField("UPDATE_DATE")
    private LocalDateTime updateDate;

    /**
     * 处理方式
     */
    @TableField("PROCESS_METHOD")
    private String processMethod;

    /**
     * 处理原因
     */
    @TableField("PROCESS_REASON")
    private String processReason;

    /**
     * 创建人
     */
    @TableField("CREATED_BY")
    private String createdBy;

    /**
     * 创建时间
     */
    @TableField(value="CREATED_TIME",fill = FieldFill.INSERT)
    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
    private LocalDateTime createdTime;

    /**
     * 更新人
     */
    @TableField("UPDATED_BY")
    private String updatedBy;

    /**
     * 更新时间
     */
    @TableField(value="UPDATED_TIME",fill = FieldFill.UPDATE)
    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
    private LocalDateTime updatedTime;

    @Override
    public String toString() {
        return "TNoteApprove{" +
        "id=" + id +
        ", tid=" + tid +
        ", approveId=" + approveId +
        ", approveStatus=" + approveStatus +
        ", approveOption=" + approveOption +
        ", approveDate=" + approveDate +
        ", author=" + author +
        ", updateContent=" + updateContent +
        ", updateDate=" + updateDate +
        ", processMethod=" + processMethod +
        ", processReason=" + processReason +
        ", createdBy=" + createdBy +
        ", createdTime=" + createdTime +
        ", updatedBy=" + updatedBy +
        ", updatedTime=" + updatedTime +
        "}";
    }
}
